Hardware for rendering three-dimensional graphics is highly parallel and includes a large number of individual processing units that request data from memory, perform calculations on the data, and provide processed data to a frame buffer for output to a screen. In addition to graphics operations, such hardware is also capable of performing general computing tasks. Some such tasks require memory protection, such as parity protection and error correcting code. Improvements in such protection are constantly being made.